{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "colab": {
      "name": "MNIST_replicate_figures.ipynb",
      "provenance": []
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "6zczHhdVAAq2",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 98
        },
        "outputId": "f4f46cb0-b729-4423-d912-3d9ee67c0e41"
      },
      "source": [
        "%tensorflow_version 1.x #selects tf 1.x in Google Colab"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "`%tensorflow_version` only switches the major version: 1.x or 2.x.\n",
            "You set: `1.x #selects tf 1.x in Google Colab`. This will be interpreted as: `1.x`.\n",
            "\n",
            "\n",
            "TensorFlow 1.x selected.\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AKSoTVxSBBq4",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 1,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kEUNITwBA-74",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 180
        },
        "outputId": "f1c408be-bc5c-4c21-c13a-52699f5995b1"
      },
      "source": [
        "!pip install deeplift"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Collecting deeplift\n",
            "  Downloading https://files.pythonhosted.org/packages/98/18/2abc0aacb4f6902ef5f53517204c634a2f27147c77ce931037bfdfbbd3b1/deeplift-0.6.12.0.tar.gz\n",
            "Requirement already satisfied: numpy>=1.9 in /usr/local/lib/python3.6/dist-packages (from deeplift) (1.18.5)\n",
            "Building wheels for collected packages: deeplift\n",
            "  Building wheel for deeplift (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "  Created wheel for deeplift: filename=deeplift-0.6.12.0-cp36-none-any.whl size=36314 sha256=ca1f196533dbcf1ff8c953a8dd68739bed785b60126eeba4afbeed1cf609a5c0\n",
            "  Stored in directory: /root/.cache/pip/wheels/8c/14/b9/824d2a18aab0cdfbc8d9fb848ed0c982b46069afc0f9a019e4\n",
            "Successfully built deeplift\n",
            "Installing collected packages: deeplift\n",
            "Successfully installed deeplift-0.6.12.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hxMRc1vH_-jH",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from __future__ import division, print_function"
      ],
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "pI-9u5Oj_-jL",
        "colab_type": "text"
      },
      "source": [
        "## MNIST example\n",
        "We will perform a simple analysis on MNIST to identify which pixels to erase to convert digits from one class into another class. We will compare importance scores computed using a variety of methods.\n",
        "\n",
        "### Obtain data and keras model\n",
        "We will load a keras model and compute importance scores\n",
        "\n",
        "#### Download the keras model\n",
        "Download a model with 2 strided convolutional layers and 2 dense layers, similar to the one in the paper."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FDHu-Xt3_-jL",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 212
        },
        "outputId": "7142afa1-9781-43d4-bcf8-0eab785fc46c"
      },
      "source": [
        "!wget https://raw.githubusercontent.com/kundajelab/deeplift/73c8519/examples/mnist/grab_model.sh\n",
        "!chmod a+x grab_model.sh\n",
        "!./grab_model.sh"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "--2020-08-18 05:21:50--  https://raw.githubusercontent.com/kundajelab/deeplift/73c8519/examples/mnist/grab_model.sh\n",
            "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...\n",
            "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 279 [text/plain]\n",
            "Saving to: ‘grab_model.sh.1’\n",
            "\n",
            "\rgrab_model.sh.1       0%[                    ]       0  --.-KB/s               \rgrab_model.sh.1     100%[===================>]     279  --.-KB/s    in 0s      \n",
            "\n",
            "2020-08-18 05:21:50 (22.2 MB/s) - ‘grab_model.sh.1’ saved [279/279]\n",
            "\n",
            "File keras2_mnist_cnn_allconv.h5 exists already\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EMIz5DMD_-jP",
        "colab_type": "text"
      },
      "source": [
        "### Load the keras model\n",
        "A user warning about compilation is generated because this model was converted from a keras 1.2 model and was thus never compiled for training."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dhsc5uhy_-jQ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 622
        },
        "outputId": "a1babe36-3bbd-4486-e139-211ae2af1f5c"
      },
      "source": [
        "import keras\n",
        "saved_model_file = \"keras2_mnist_cnn_allconv.h5\"\n",
        "keras_model = keras.models.load_model(saved_model_file)\n",
        "keras_model.summary()"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Using TensorFlow backend.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /tensorflow-1.15.2/python3.6/tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "If using Keras pass *_constraint arguments to layers.\n",
            "Model: \"sequential_1\"\n",
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "conv2d_1 (Conv2D)            (None, 13, 13, 32)        544       \n",
            "_________________________________________________________________\n",
            "activation_1 (Activation)    (None, 13, 13, 32)        0         \n",
            "_________________________________________________________________\n",
            "conv2d_2 (Conv2D)            (None, 5, 5, 64)          32832     \n",
            "_________________________________________________________________\n",
            "activation_2 (Activation)    (None, 5, 5, 64)          0         \n",
            "_________________________________________________________________\n",
            "dropout_1 (Dropout)          (None, 5, 5, 64)          0         \n",
            "_________________________________________________________________\n",
            "flatten_1 (Flatten)          (None, 1600)              0         \n",
            "_________________________________________________________________\n",
            "dense_1 (Dense)              (None, 128)               204928    \n",
            "_________________________________________________________________\n",
            "activation_3 (Activation)    (None, 128)               0         \n",
            "_________________________________________________________________\n",
            "dropout_2 (Dropout)          (None, 128)               0         \n",
            "_________________________________________________________________\n",
            "dense_2 (Dense)              (None, 10)                1290      \n",
            "_________________________________________________________________\n",
            "activation_4 (Activation)    (None, 10)                0         \n",
            "=================================================================\n",
            "Total params: 239,594\n",
            "Trainable params: 239,594\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "/tensorflow-1.15.2/python3.6/keras/engine/saving.py:341: UserWarning: No training configuration found in save file: the model was *not* compiled. Compile it manually.\n",
            "  warnings.warn('No training configuration found in save file: '\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gPt3xHhT_-jS",
        "colab_type": "text"
      },
      "source": [
        "### Load the data"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NMaCw72G_-jT",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from keras.datasets import mnist\n",
        "(X_train, y_train), (X_test, y_test) = mnist.load_data()\n",
        "X_test = X_test[:,:,:,None]"
      ],
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "89owatiB_-jW",
        "colab_type": "text"
      },
      "source": [
        "## Prepare the deeplift models\n",
        "\n",
        "### Model conversion\n",
        "Convert the keras models to deeplift models capable of computing importance scores using DeepLIFT-RevealCancel, gradients and guided backprop"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "M0UDhXn9_-jW",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 232
        },
        "outputId": "b87fd76e-bf50-4c8b-992f-df90ca9898bb"
      },
      "source": [
        "import deeplift\n",
        "from deeplift.layers import NonlinearMxtsMode\n",
        "from deeplift.conversion import kerasapi_conversion as kc\n",
        "\n",
        "#Three different models, one each for RevealCancel, Gradient and GuidedBackprop\n",
        "revealcancel_model = kc.convert_model_from_saved_files(\n",
        "                            h5_file=saved_model_file,\n",
        "                            nonlinear_mxts_mode=NonlinearMxtsMode.RevealCancel)\n",
        "grad_model = kc.convert_model_from_saved_files(\n",
        "                            h5_file=saved_model_file,\n",
        "                            nonlinear_mxts_mode=NonlinearMxtsMode.Gradient)\n",
        "guided_backprop_model = kc.convert_model_from_saved_files(\n",
        "                            h5_file=saved_model_file,\n",
        "                            nonlinear_mxts_mode=NonlinearMxtsMode.GuidedBackprop)"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "nonlinear_mxts_mode is set to: RevealCancel\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/deeplift/layers/core.py:207: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/deeplift/conversion/kerasapi_conversion.py:352: H5pyDeprecationWarning: The default file mode will change to 'r' (read-only) in h5py 3.0. To suppress this warning, pass the mode you need to h5py.File(), or set the global default h5.get_config().default_file_mode, or set the environment variable H5PY_DEFAULT_READONLY=1. Available modes are: 'r', 'r+', 'w', 'w-'/'x', 'a'. See the docs for details.\n",
            "  str_data = h5py.File(h5_file).attrs[\"model_config\"]\n",
            "/usr/local/lib/python3.6/dist-packages/deeplift/conversion/kerasapi_conversion.py:359: H5pyDeprecationWarning: The default file mode will change to 'r' (read-only) in h5py 3.0. To suppress this warning, pass the mode you need to h5py.File(), or set the global default h5.get_config().default_file_mode, or set the environment variable H5PY_DEFAULT_READONLY=1. Available modes are: 'r', 'r+', 'w', 'w-'/'x', 'a'. See the docs for details.\n",
            "  model_weights = h5py.File(h5_file)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "Heads-up: I assume softmax is the output layer, not an intermediate one; if it's an intermediate layer, please let me know and I will prioritise that use-case\n",
            "nonlinear_mxts_mode is set to: Gradient\n",
            "Heads-up: I assume softmax is the output layer, not an intermediate one; if it's an intermediate layer, please let me know and I will prioritise that use-case\n",
            "nonlinear_mxts_mode is set to: GuidedBackprop\n",
            "Heads-up: I assume softmax is the output layer, not an intermediate one; if it's an intermediate layer, please let me know and I will prioritise that use-case\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "q4-ohpeV_-jZ",
        "colab_type": "text"
      },
      "source": [
        "### Sanity checks\n",
        "To ensure that the conversion happend correctly, ensure that the models give identical predictions\n",
        "\n",
        "If you are using a functional model, see this issue for how to adapt the code: https://github.com/kundajelab/deeplift/issues/54"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "axmcURFY_-jZ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 66
        },
        "outputId": "37545329-1f52-4acc-cf53-f61aeb6224d4"
      },
      "source": [
        "from deeplift.util import compile_func\n",
        "import numpy as np\n",
        "from keras import backend as K\n",
        "\n",
        "deeplift_model = revealcancel_model\n",
        "deeplift_prediction_func = compile_func([deeplift_model.get_layers()[0].get_activation_vars()],\n",
        "                                       deeplift_model.get_layers()[-1].get_activation_vars())\n",
        "original_model_predictions = keras_model.predict(X_test, batch_size=200)\n",
        "converted_model_predictions = deeplift.util.run_function_in_batches(\n",
        "                                input_data_list=[X_test],\n",
        "                                func=deeplift_prediction_func,\n",
        "                                batch_size=200,\n",
        "                                progress_update=None)\n",
        "print(\"difference in predictions:\",np.max(np.array(converted_model_predictions)-np.array(original_model_predictions)))\n",
        "assert np.max(np.array(converted_model_predictions)-np.array(original_model_predictions)) < 10**-5\n",
        "predictions = converted_model_predictions"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /tensorflow-1.15.2/python3.6/keras/backend/tensorflow_backend.py:422: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n",
            "\n",
            "difference in predictions: 0.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2f7vM5QM_-jc",
        "colab_type": "text"
      },
      "source": [
        "## Compute importance scores\n",
        "\n",
        "### Compile various scoring functions\n",
        "Using the deeplift models, we obtain the functions capable of computing the importance scores."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "1sx0gc2R_-jc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 115
        },
        "outputId": "d12fcbc5-927a-482a-dbe7-f558b02fa767"
      },
      "source": [
        "from keras import backend as K\n",
        "import deeplift\n",
        "from deeplift.util import get_integrated_gradients_function\n",
        "\n",
        "revealcancel_func = revealcancel_model.get_target_contribs_func(find_scores_layer_idx=0, target_layer_idx=-2)\n",
        "grad_times_inp_func = grad_model.get_target_contribs_func(find_scores_layer_idx=0, target_layer_idx=-2)\n",
        "guided_backprop_times_inp_func = guided_backprop_model.get_target_contribs_func(find_scores_layer_idx=0, target_layer_idx=-2)\n",
        "\n",
        "gradient_func = grad_model.get_target_multipliers_func(find_scores_layer_idx=0, target_layer_idx=-2)\n",
        "guided_backprop_func = guided_backprop_model.get_target_multipliers_func(find_scores_layer_idx=0, target_layer_idx=-2)\n",
        "\n",
        "#pure-gradients or pure-guidedbackprop perform rather poorly because they produce scores on pixels that are 0 (which are\n",
        "#the backround in MNIST). But we can give them a slight advantage by masking out positions that\n",
        "#are zero. Also, the method of simonyan et al uses the magnitude of the gradient.\n",
        "simonyan_func_masked = lambda input_data_list, **kwargs: ((input_data_list[0]>0.0)*\n",
        "                        np.abs(np.array(gradient_func(input_data_list=input_data_list,**kwargs))))\n",
        "guided_backprop_func_masked = lambda input_data_list, **kwargs: ((input_data_list[0]>0.0)*\n",
        "                               guided_backprop_func(input_data_list=input_data_list, **kwargs))\n",
        "\n",
        "#prepare the integrated gradients scoring functions\n",
        "#heads-up: these take 5x and 10x longer to compute respectively!\n",
        "integrated_grads_5 = get_integrated_gradients_function(gradient_func, 5)\n",
        "integrated_grads_10 = get_integrated_gradients_function(gradient_func, 10)"
      ],
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/deeplift/layers/core.py:455: The name tf.variables_initializer is deprecated. Please use tf.compat.v1.variables_initializer instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/deeplift/layers/core.py:471: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.\n",
            "\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/deeplift/layers/core.py:473: The name tf.scatter_update is deprecated. Please use tf.compat.v1.scatter_update instead.\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xlfMXS2N_-jf",
        "colab_type": "text"
      },
      "source": [
        "### Call scoring functions on the data"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YBagGRiX_-jf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "9e472e58-25fe-4263-e34f-a677fd184a22"
      },
      "source": [
        "from collections import OrderedDict\n",
        "method_to_task_to_scores = OrderedDict()\n",
        "print(\"HEADS UP! integrated_grads_5 and integrated_grads_10 take 5x and 10x longer to run respectively\")\n",
        "print(\"Consider leaving them out to get faster results\")\n",
        "for method_name, score_func in [\n",
        "                               ('revealcancel', revealcancel_func),\n",
        "                               ('guided_backprop_masked', guided_backprop_func_masked),\n",
        "                               ('guided_backprop_times_inp', guided_backprop_times_inp_func),\n",
        "                               ('simonyan_masked', simonyan_func_masked), \n",
        "                               ('grad_times_inp', grad_times_inp_func),\n",
        "                               ('integrated_grads_5', integrated_grads_5),\n",
        "                               ('integrated_grads_10', integrated_grads_10)\n",
        "]:\n",
        "    print(\"Computing scores for:\",method_name)\n",
        "    method_to_task_to_scores[method_name] = {}\n",
        "    for task_idx in range(10):\n",
        "        print(\"\\tComputing scores for task: \"+str(task_idx))\n",
        "        scores = np.array(score_func(\n",
        "                    task_idx=task_idx,\n",
        "                    input_data_list=[X_test],\n",
        "                    input_references_list=[np.zeros_like(X_test)],\n",
        "                    batch_size=1000,\n",
        "                    progress_update=None))\n",
        "        method_to_task_to_scores[method_name][task_idx] = scores"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "HEADS UP! integrated_grads_5 and integrated_grads_10 take 5x and 10x longer to run respectively\n",
            "Consider leaving them out to get faster results\n",
            "Computing scores for: revealcancel\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n",
            "Computing scores for: guided_backprop_masked\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n",
            "Computing scores for: guided_backprop_times_inp\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n",
            "Computing scores for: simonyan_masked\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n",
            "Computing scores for: grad_times_inp\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n",
            "Computing scores for: integrated_grads_5\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n",
            "Computing scores for: integrated_grads_10\n",
            "\tComputing scores for task: 0\n",
            "\tComputing scores for task: 1\n",
            "\tComputing scores for task: 2\n",
            "\tComputing scores for task: 3\n",
            "\tComputing scores for task: 4\n",
            "\tComputing scores for task: 5\n",
            "\tComputing scores for task: 6\n",
            "\tComputing scores for task: 7\n",
            "\tComputing scores for task: 8\n",
            "\tComputing scores for task: 9\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "23GTyCPX_-jh",
        "colab_type": "text"
      },
      "source": [
        "## Plot figures\n",
        "\n",
        "### Prepare various functions to aid in plotting"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JqHFk2Rz_-ji",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 70
        },
        "outputId": "184629c0-49de-4da7-840d-28a7b07d208e"
      },
      "source": [
        "%matplotlib inline\n",
        "import matplotlib.pyplot as plt\n",
        "import matplotlib.colors as colors\n",
        "from keras import backend as K\n",
        "\n",
        "\n",
        "#Function to plot scores of an MNIST figure\n",
        "def viz_scores(scores,ax):\n",
        "    reshaped_scores = scores.reshape(28,28)\n",
        "    the_min = np.min(reshaped_scores)\n",
        "    the_max = np.max(reshaped_scores)\n",
        "    center = 0.0\n",
        "    negative_vals = (reshaped_scores < 0.0)*reshaped_scores/(the_min + 10**-7)\n",
        "    positive_vals = (reshaped_scores > 0.0)*reshaped_scores/float(the_max)\n",
        "    reshaped_scores = -negative_vals + positive_vals\n",
        "    ax.imshow(-reshaped_scores, cmap=\"Greys\")\n",
        "    ax.set_xticks([])\n",
        "    ax.set_yticks([])\n",
        "\n",
        "#Function that masks out the top n pixels where the score for\n",
        "#task_1 is higher than the score for task_2\n",
        "def get_masked_image(idx, scores, task_1, task_2, n_to_erase):\n",
        "    difference = scores[task_1][idx].ravel() - scores[task_2][idx].ravel()\n",
        "    #highlight the top n\n",
        "    top_nth_threshold = max(sorted(difference, key=lambda x: -x)[n_to_erase],0.0)\n",
        "    thresholded_points = 1.0*(difference <= top_nth_threshold)\n",
        "    masked_inp = thresholded_points.reshape(28,28,1)*X_test[idx]\n",
        "    return masked_inp\n",
        "\n",
        "#Function to plot the result of masking on a single example, for converting\n",
        "#from task1->task2 and task1->task3\n",
        "def plot_two_way_figures(idx, task_1, task_2, task_3, method_names, n_to_erase):\n",
        "    print(\"example index: \"+str(idx))\n",
        "    print(\"Order of columns is:\",\"task \"+str(task_1)+\" scores\",\"task \"+str(task_2)+\" scores\",\n",
        "                                 str(task_1)+\"->\"+str(task_2)+\" masking\",\n",
        "                                 \"task \"+str(task_3)+\" scores\", str(task_1)+\"->\"+str(task_3)+\" masking\")\n",
        "    print(\"Order of the methods is: \"+\", \".join(str(x) for x in method_names))\n",
        "    for method_name in method_names:\n",
        "        scores = method_to_task_to_scores[method_name]\n",
        "        mean_scores_over_all_tasks = np.mean(np.array([scores[i][idx] for i in range(10)]), axis=0)\n",
        "        f, axarr = plt.subplots(1, 6, sharey=False, figsize=(15,10))\n",
        "        viz_scores(X_test[idx], axarr[0])      \n",
        "        viz_scores(scores[task_1][idx] - mean_scores_over_all_tasks, axarr[1])\n",
        "        viz_scores(scores[task_2][idx] - mean_scores_over_all_tasks, axarr[2])\n",
        "        viz_scores(get_masked_image(idx, scores, task_1, task_2, n_to_erase), axarr[3])\n",
        "        viz_scores(scores[task_3][idx] - mean_scores_over_all_tasks, axarr[4])\n",
        "        viz_scores(get_masked_image(idx, scores, task_1, task_3, n_to_erase), axarr[5])\n",
        "    plt.show()\n",
        "    \n",
        "#Function to compute change in log-odds scores after\n",
        "#pixels have been masked to convert from original_class to target_class\n",
        "def compute_delta_log_odds(X, y, predict_func, imp_scores,\n",
        "                           original_class, target_class,\n",
        "                           num_perturbations):\n",
        "    original_class_mask = y_test==original_class\n",
        "    X = np.compress(condition=original_class_mask,\n",
        "                    a=X,axis=0)\n",
        "    \n",
        "    \n",
        "    #compute log-odds of model for those two classes\n",
        "    predictions = np.array(deeplift.util.run_function_in_batches(predict_func,\n",
        "                                                        input_data_list=[X],\n",
        "                                                        batch_size=200, progress_update=None))\n",
        "    orig_log_odds = predictions[:,original_class] - predictions[:,target_class]\n",
        "    #make num_perturbations to move from original_class\n",
        "    #to target_class according to imp_scores\n",
        "    #first, get the difference of imp_scores for the two classes\n",
        "    diff_of_scores = (np.compress(original_class_mask, imp_scores[original_class].reshape((-1, 784)), axis=0) - \n",
        "                      np.compress(original_class_mask, imp_scores[target_class].reshape((-1, 784)), axis=0))\n",
        "    modified_inp = []\n",
        "    #then, for each example, sort the scores and zero out indices\n",
        "    for inp, diff_of_scores in zip(X, diff_of_scores):\n",
        "        top_nth_threshold = max(sorted(diff_of_scores, key=lambda x: -x)[num_perturbations], 0.0)\n",
        "        thresholded_points = 1.0*(diff_of_scores <= top_nth_threshold)\n",
        "        modified_inp.append(thresholded_points.reshape(28,28,1)*inp)\n",
        "    modified_inp = np.array(modified_inp)\n",
        "    \n",
        "    #assess change in log-odds for the modified images\n",
        "    new_predictions = np.array(deeplift.util.run_function_in_batches(predict_func,\n",
        "                                                        input_data_list=[modified_inp],\n",
        "                                                        batch_size=200, progress_update=None))\n",
        "    new_log_odds = new_predictions[:,original_class] - new_predictions[:,target_class]\n",
        "    to_return = orig_log_odds - new_log_odds\n",
        "    return (to_return,\n",
        "            sum(new_log_odds < 0.0)/float(len(new_log_odds)),\n",
        "            new_predictions[:,[original_class, target_class]],\n",
        "            predictions[:,[original_class, target_class]])\n",
        "\n",
        "#pre_softmax_func computes the output of the linear layer preceding the\n",
        "#Final softmax noninearity\n",
        "pre_softmax_func_inner = K.function([keras_model.input, K.learning_phase()],\n",
        "                                    [keras_model.layers[-2].output])\n",
        "pre_softmax_func = lambda x: pre_softmax_func_inner(x+[False])[0]\n",
        "\n",
        "def barplot_scores(original_class, target_class, method_names_and_short_names, n_to_erase):\n",
        "    print(\"converting: \"+str(original_class)+\"->\"+str(target_class))\n",
        "    method_names = [x[0] for x in method_names_and_short_names]\n",
        "    short_names = [x[1] for x in method_names_and_short_names]\n",
        "    original_class_mask = y_test==original_class\n",
        "    scores_to_plot = []\n",
        "    fig, ax = plt.subplots(figsize=(2*len(method_names),5))\n",
        "    for method_name in method_names:\n",
        "        logodds_diff, flipped, new_predictions, old_predictions = compute_delta_log_odds(\n",
        "                                                                     X=X_test, y=y_test,\n",
        "                                                                     predict_func=pre_softmax_func,\n",
        "                                                                     imp_scores=method_to_task_to_scores[method_name],\n",
        "                                                                     original_class=original_class,\n",
        "                                                                     target_class=target_class,\n",
        "                                                                     num_perturbations=n_to_erase)\n",
        "        #figure out indices with big shifts\n",
        "        retained_indices = np.compress(condition=original_class_mask, a=np.arange(len(y_test)))\n",
        "        \n",
        "        #sorted_shifts\n",
        "        sorted_shifts = sorted(enumerate(zip(logodds_diff,new_predictions,old_predictions)), key=lambda x: -x[1][0])\n",
        "        print(\"top indices for \"+str(method_name)+\": \"+\" \".join([str(retained_indices[x[0]]) for x in sorted_shifts[:10]]))\n",
        "        scores_to_plot.append(logodds_diff)\n",
        "    ax.boxplot(scores_to_plot, widths=[0.5 for x in method_names])\n",
        "    ax.set_ylim(-1000,17000)\n",
        "    ax.set_ylabel(\"Change in log-odds\")\n",
        "    ax.set_xticklabels(short_names)\n",
        "    plt.title(str(original_class)+\" --> \"+str(target_class), fontsize=24)\n",
        "    plt.tick_params(labelsize=17)\n",
        "    plt.show()"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /tensorflow-1.15.2/python3.6/keras/backend/tensorflow_backend.py:431: The name tf.is_variable_initialized is deprecated. Please use tf.compat.v1.is_variable_initialized instead.\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "b3ojXfSJ_-jk",
        "colab_type": "text"
      },
      "source": [
        "### Plot scores and result of masking on a single example\n",
        "The example selected had the highest change in log-odds for 8->3 and second-highest for 8->6 according to grad_times_inp and integrated_gradients"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "201D84IQ_-jl",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 751
        },
        "outputId": "a7de3292-3f6a-4f25-d7ff-f68050b7e577"
      },
      "source": [
        "n_to_erase=157\n",
        "method_names = ['simonyan_masked', 'guided_backprop_masked', 'grad_times_inp', 'integrated_grads_5', 'revealcancel']\n",
        "plot_two_way_figures(5846,8,3,6,method_names,n_to_erase)"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "example index: 5846\n",
            "Order of columns is: task 8 scores task 3 scores 8->3 masking task 6 scores 8->6 masking\n",
            "Order of the methods is: simonyan_masked, guided_backprop_masked, grad_times_inp, integrated_grads_5, revealcancel\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x720 with 6 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x720 with 6 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x720 with 6 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x720 with 6 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x720 with 6 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "5BiCrWwm_-jn",
        "colab_type": "text"
      },
      "source": [
        "### Plot change in log-odds across all examples in the test set"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "scrolled": false,
        "id": "aL4wSF_E_-jo",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "8fac9ca5-72ff-42a5-aa40-c5787b3d118a"
      },
      "source": [
        "method_names_and_short_names = [\n",
        "    ('simonyan_masked', '|grad|\\n(Simonyan)'),\n",
        "    ('guided_backprop_masked', 'Guided\\nBackprop'),\n",
        "    ('guided_backprop_times_inp', 'GBP*in'),\n",
        "    ('grad_times_inp', 'gradient\\n*input'),\n",
        "    ('integrated_grads_5', 'integrated\\ngrads-5'),\n",
        "    ('integrated_grads_10', 'integrated\\ngrads-10'),\n",
        "    ('revealcancel', 'DeepLIFT-\\nRevealCancel'),\n",
        "]\n",
        "\n",
        "barplot_scores(8,3,method_names_and_short_names, n_to_erase)\n",
        "barplot_scores(8,6,method_names_and_short_names, n_to_erase)\n",
        "barplot_scores(9,1,method_names_and_short_names, n_to_erase)\n",
        "barplot_scores(4,1,method_names_and_short_names, n_to_erase)"
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "converting: 8->3\n",
            "top indices for simonyan_masked: 6654 6816 2774 5226 5803 3892 8669 7034 9516 8547\n",
            "top indices for guided_backprop_masked: 5846 5797 5650 8437 8157 2774 9516 6654 3807 7450\n",
            "top indices for guided_backprop_times_inp: 5846 5797 5650 8437 8157 2774 9516 6654 3807 7450\n",
            "top indices for grad_times_inp: 5846 8157 5797 6654 9917 8015 6435 9516 6212 8440\n",
            "top indices for integrated_grads_5: 5846 8157 6654 5797 8015 9917 6435 9516 6212 8440\n",
            "top indices for integrated_grads_10: 5846 8157 6654 5797 8015 9917 6435 6212 8440 8249\n",
            "top indices for revealcancel: 5846 9917 8157 8547 9574 8437 5797 8872 8466 9516\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1008x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "converting: 8->6\n",
            "top indices for simonyan_masked: 5846 9516 8223 3892 260 9609 2895 5003 1443 9055\n",
            "top indices for guided_backprop_masked: 2470 5846 9609 9516 4246 1118 8300 1074 8009 2895\n",
            "top indices for guided_backprop_times_inp: 2470 5846 9609 9516 4246 1118 8300 1074 8009 2895\n",
            "top indices for grad_times_inp: 5857 5846 2470 9516 1118 9609 4246 2451 8985 8965\n",
            "top indices for integrated_grads_5: 5857 5846 2470 1118 9516 9609 4246 2451 8985 5864\n",
            "top indices for integrated_grads_10: 5857 5846 9516 2470 1118 9609 4246 2451 8985 5864\n",
            "top indices for revealcancel: 2470 5857 2213 1118 2451 4246 5864 5846 9516 3829\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1008x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "converting: 9->1\n",
            "top indices for simonyan_masked: 7827 58 1793 2257 8590 5386 4610 5523 1787 5289\n",
            "top indices for guided_backprop_masked: 5289 5587 2263 3008 8457 6302 6230 2892 481 5523\n",
            "top indices for guided_backprop_times_inp: 5289 5587 2263 3008 8457 6302 6230 2892 481 5523\n",
            "top indices for grad_times_inp: 3287 2341 99 3008 6302 5523 5587 7347 2263 1793\n",
            "top indices for integrated_grads_5: 3287 2341 99 3008 6302 5523 5587 7347 2263 1793\n",
            "top indices for integrated_grads_10: 3287 2341 99 3008 6302 5523 5587 7347 2263 1793\n",
            "top indices for revealcancel: 2263 6302 3885 5377 1793 8457 5587 9079 4835 8782\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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b253aGPO4kySJElSWx1//PFcdtll7L333lx22WUcf/zx7Q6pLSzOJEmSJLXV1Vdfvd1JqK+++uo2R9QeFmeSJEmS2mbPPfdk3bp1PPDAA2zZsoUHHniAdevWseeee7Y7tDFncSZJUpMtXbqU2bNnAzB79myWLl3a5ojUKHPX3cxfd5o2bRp77LEHDz/8MAAPP/wwe+yxB9OmTWtzZGPP4kySpCZaunQpAwMDLF68GIDFixczMDDgl8QuYO66m/nrXqtWreLUU0/dOjtjX18fp556KqtWrWpzZGMvMrPdMfSE/v7+XLFiRbvDaJmIwP7e/6EAACAASURBVP+V7mTuupv56wztONeOeW8Oc9fdzN/4cPDBB7N582auuuoq5syZw/LlyznppJOYMGECd9xxR7vDa6qIuCEz+4e63z1nkiSNIDMbvvT19XHllVcya9Ys+vr6mDVrFldeeSV9fX2jWo6aw9x1N/M3ftQ+9+M1F+45axL3nKlTmbvuZv66z8EHH8zDDz/MYx7zGG6//XYOOeQQ7r//fvbaa6+e+wW415i77mb+uteECRP4x3/8Ry677DI2btzI5MmTecUrXsFHPvKRnjvX2Uh7znYby2AkSep169at4/777+ehhx5iy5Yt3HHHHVtPsKrOZu66m/nrXgceeCBXXHEFW7ZsAWDLli1cccUVHHjggW2ObOz53ypJUhPdd999OxwnExHcd999bYpIjTJ33c38da81a9awbt06XvnKV3L//ffzyle+knXr1rFmzZp2hzbmLM4kSWqyPfbYg2uuuYZHHnmEa665hj322KPdIalB5q67mb/utHbtWubNm8f111/P9OnTuf7665k3b97Wk1KPJxZnkiQ12cSJE4e9rc5l7rqb+eteJ598MjfffDObN2/m5ptv5uSTT253SG3hhCBN4oQg6lTmrruZv+4TEey5557st99+3HbbbRx66KGsXr2atWvXmssOZ+66m/nrXhMnTmTq1Kl85jOf2TqV/kte8hIefPBBNm3a1O7wmsqp9CVJGkPTp09n/fr1rF+/HmDr39OnT29zZBrJ9OnTWbduHXfccQeZyR133MG6devMXZcwf93rzDPP5P777+fEE09kypQpnHjiidx///2ceeaZ7Q5tzFmcSZLURBdddBGTJk3i7rvvJjO5++67mTRpEhdddFG7Q9MITjzxRGDbiY8r15V2dTbz170WL17Mq1/9atasWcOWLVtYs2YNr371q1m8eHG7QxtzFmeSJDXZ3nvvzYwZM4gIZsyYwd57793ukNSAwcFBzjvvPI488kj6+vo48sgjOe+88xgcHGx3aGqA+etuixcvZsOGDWQmGzZsGJeFGVicSZLUVIsWLeKMM85gzz333HoMzBlnnMGiRYvaHZpGsHLlSo488sjt2o488khWrlzZpog0GuZPvcAJQZrECUE0FmrP39Jq5rx5xjp3YP7apa+vjxkzZnDppZduPbB9/vz53HrrrVtPsKrOdPDBB7N582auuuqqrbk76aSTmDBhAnfccUe7w9MIzJ+6gROCSD0kMxu+LFmyhFmzZtHX18esWbNYsmTJqB7vF/vmGu1zb/6616RJk3jta1/L3LlzmThxInPnzuW1r30tkyZNandoakDta8fXUncxf+p2FmdSD1q6dClnnXXW1umD165dy1lnncXSpUvbHZoaYP662yOPPMLixYsZHBxk06ZNDA4OsnjxYh555JF2h6YRrFq1igsvvJAFCxYwZcoUFixYwIUXXsiqVavaHZoaYP7UCyzOpB50zjnnMGHCBC677DI2btzIZZddxoQJEzjnnHPaHZoaYP6621FHHcVJJ5203RfEk046iaOOOqrdoWkEM2fO5KCDDtruRLgHHXQQM2fObHdoaoD5Uy/Yrd0BSGq+3/3ud/zLv/wLCxYsYOXKlcycOZPTTjuNd7zjHe0OTQ0wf91tYGCAs846iz333HPrns+LL76YD3zgA+0OTSMYGBjghBNOYM8999x6EuO1a9eauy5h/tQLLM6kHnX55ZezZMmSrQdFe56X7mL+ekM7JoJRc5i77mb+1K2crbFJnK1RnWTixIlMnjyZ/fbbj9tvv51DDjmE1atXs3HjRjZt2tTu8DQC89fdZs+ezeLFi5k7d+7WtsHBQRYsWMDNN9/cxsg0EnPX3cyfusFIszVanDWJxZk6SUTQ19fHfvvtxz333MP+++/P6tWr2bJli3nsAuavu02YMIENGzYwceLErW2bNm1iypQpbN68uY2RaSTmrruZv+62dOlSFi1atHU4/8DAAPPmzWt3WE3nVPrSODR58mTmzZvHvvvuS0Sw7777Mm/ePCZPntzu0NQA89fdZs6cyfLly7drW758uZMSdAFz193MX/daunQpAwMDLF68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\n",
            "text/plain": [
              "<Figure size 1008x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "converting: 4->1\n",
            "top indices for simonyan_masked: 3397 9866 8925 5816 2889 1529 8802 2256 6861 6475\n",
            "top indices for guided_backprop_masked: 3752 2889 3397 2256 9861 3819 3357 9866 1529 5294\n",
            "top indices for guided_backprop_times_inp: 3752 2889 3397 2256 9861 3819 3357 9866 1529 5294\n",
            "top indices for grad_times_inp: 3752 2256 3357 3397 9873 5191 7629 9861 3819 3500\n",
            "top indices for integrated_grads_5: 3752 3357 2256 3397 9873 3819 7629 8886 9861 2889\n",
            "top indices for integrated_grads_10: 3752 3357 2256 3397 9873 3819 7629 8886 9861 2889\n",
            "top indices for revealcancel: 2256 762 9873 1529 2145 2889 5294 3752 3357 3500\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2cAAAFkCAYAAACkQEPiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdebgcVZn48e+bkAXCYiKLbAKKaEh0EOKG0SGOOOM6jiPyQ5RBMiAucQFHRuNIEK8jICgTVASjiEJk3FHAjQQ0MC4JuCBRiAY0rEEiS8hGeH9/VHXodPrm9k26by/3+3mefvr2qdNVb/W5XV1v1alTkZlIkiRJktprRLsDkCRJkiSZnEmSJElSRzA5kyRJkqQOYHImSZIkSR3A5EySJEmSOoDJmSRJkiR1AJMzSZIkSeoAJmeSpJ4SEdtHxF8iIsvHse2OaahExF4RcXREfCoirouIleVncHe7Y5MkDWybdgcgSVKTfRTYq91BtMn7gHe3OwhJ0pYxOZMk9YyIOBh4J/Bz4HltDqcdEvgjsBD4JbAHcFJbI5IkNczkTJLUEyJiBPC58uXbgBvaGA4AETEZGJ2ZQxXL+zLzvVXLP3aIlitJagKvOZMk9YoZwBTgs5l5Y7uDKU0BFkXEryPivRGxSysXlpnrWzl/SVJrmZxJkrpeROwJnA7cA3yozeFUuxt4BHgWcA5wR0R8KyJeExH2XpEkbcTkTJLUC2YDO1B063ug3cFUZOb3gd2Bfwd+SnE5wWuB71AkameXXR8lSTI5kyR1t4h4NfAvwDWZ+ZV2x1MrMx/MzDmZ+WJgf+AjwFJgV4rBOn4bEb+MiLdHxPh2xipJai+TM0lS14qIccB5wDrgHW0OZ0CZ+afMPBV4KnAYcBHwMMW1aZ8G7oqIyyLinyJiZNsClSS1hcmZJKmbfQR4MvDJzLy53cE0KgvXZuZbgN2AY4B5wGjgDcBVwGfaGKIkqQ28GFmS1JUi4iCKGy7/hSJJa+a87+5n0rsz87KIOBI4t16FzHzSYJaVmY9ExOXAGIr7kj2jnDRmMPORJHU/kzNJUrc6FxgJzAQiIrbvp96YctpjmflIg/PerZ/ybaue+6vTkLLb4ssozpq9FhhbTnoAuIyim6MkaRiJzGx3DJIkDVpE3AbsM4i33J6Z+7YmmsZFxDMpErI3AZWzbEnRrfGLwDczc1WTlnVsOc97BntGT5I09DxzJklSi0XErsAbKZKyZ1dNWkoxKMiXMvP2NoQmSeogJmeSpK400FmwiKh0DXlLZl7U8oDqx3Ag8HHg5Tz+m/sI8A2KM1rXpF1YJEklkzNJklrnucCry7+vp0jILsvMh1qxsIgYBexUVbT945Ni56ry9Zm5ohUxSJK2nMmZJEmts5zizNkXM/OWIVjeC4H5dcp3LWOpuB3YdwjikSQNgsmZJEktkplXAFe0Ow5JUndwtEZJkiRJ6gAj2h2AJEmSJMnkTJIkSZI6gsmZJEmSJHUAkzNJkiRJ6gCO1tgkO++8c+67777tDkOSJElSh1q0aNF9mblLf9NNzppk3333ZeHChe0OQ5IkSVKHiojbNzfdbo2SJEmS1AFMziRJkiSpA5icSZIkSVIHMDmTJEmSpA5gciZJkiRJHcDkTJIkSZI6gMmZJEmSJHUAkzNJkiRJ6gAmZ5IkSZLUAUzOJEmSJKkDmJxJkiRJUgcwOZMkSZKkDmByJkmSJEkdwORMkiRJkjqAyZkkSZIkdQCTM0mSJEnqACZnkiRJktQBTM4kSZIkqQOYnEmSJElSBzA5kyRJkqQOYHImSZIkSR3A5EySJEmSOoDJmSRJkiR1gJYmZxGxfUScFhFXRsTyiMiImFWn3rHltHqPqXXqHxARl0fEg+XjOxHx1H5ieHlE/DwiVkXE3RHxPxGxfZ16ERHvjYhbI2JNRNwSEe+KiGjKhyFJkiRJm7FNi+e/M/Bh4A7gBuBlA9Q/HbilpuwP1S8iYg/gp8AaYBYQwHuBn0TEQZm5vKru4cD3gJ8D7wH2Les+o04sHwE+BHwFOAOYBpwL7AD0DbSikiRJkrQ1Wp2c3QXsmZl3RsRewF8GqP/DzFwwQJ0PAOOByZl5C0BEXAHcBJwCvK+q7jnAEmBaZq4p6/4RuDAiXpWZ3yvL9gDeD3wpM48t3/v5iEhgZkRcUJ30SZIkSVKztbRbY2auycw7B/OeiNghIjaXNB5BkcRtOMOWmb8HrgaOrJrPRGAycGElMStdDDxcXRf4Z2A0cF7Nsj4NbAu8ZjDrIEmSJEmD1WkDglwJPAisioirI+KQ6okRsSewG/CLOu/9BbBXROxSvj64qnyDzFwL/KpqeqXuOuDGmnkuAh6rqStJkiRJTdfqbo2NeoTijNZ8YAXFGa+TgZ9GxIsyc1FZb/fy+a4686iU7QEsb6Du5KrXuwPLM3N9daXMXBsRfy3nuYmIOAE4AeDJT35yvysnSZIkSQPpiOQsM/8X+N+qou9ExNeAXwNnAS8py7ctn6u7KVasrqkzUN1tq15v20+9enWr474AuABgypQp2c/7JUmSJGlAndatcYPymrLvAC+KiDFl8aryeUydt4ytqTNQ3VVVr1f1U69eXUmSJElquo5Nzkp/pji7t1P5urrrYq1KN8Y7G6xbPVDJXcCuETGyulJEjAaeWFNXkiRJkpqu05Ozp1IM1PE3gMy8A7gXeE6dus8DllUNeX9D+bxR3TLhOqhqeqXuNsCza+Y5heIzugFJkiRJaqGOSM4iYtc6ZQdTDGF/dTnCYsXXgZdFxNOq6j6D4rq0r1XKMnMxcDNwfFW3SIBjgO2r6wKXUySB76wJ4+0U15x9dwtWS5IkSZIa1vIBQSLincATgB3LohdHxIfKv7+cmbcD10fEr4CFwP3AJOB4YCXFqI3VPkZxr7OrI+KTQAAnUZxRO6Om7snAFcC8iPgSsG9Z92qqEq7MvCMizgI+GBEjgGuBacDRwIcz896t+hAkSZIkaQCR2dpBBiPiNmCffiZPy8xrIuJ04JXAfhRnte4FfgScnpl/rDPPpwNnAy8ui64BTsrMJXXqvgI4DXgm8ADFGbMPZOZDNfVGAO8F3gbsTXG926eBc7OBD2nKlCm5cOHCgapJkiRJGqYiYlFmTul3equTs+HC5EySJEnS5gyUnHXENWeSJEmSNNyZnEmSJElSBzA5kyRJkqQOYHImSZIkSR3A5EySJEmSOoDJmSRJkiR1AJMzSZIkSeoAJmeSJEmS1AFMziRJkiSpA5icSZIkSVIHMDmTJEmSpA6wTbsDkCRJktR7ImJIl5eZQ7q8VjA5kyRJktR0W5IsRURPJFlbym6NkiRJktQBTM4kSZIkqQOYnEmSJElSBzA5kyRJkqQOYHImSZIkSR3A5EySJEmSOoDJmSRJkiR1AJMzSZIkSeoAJmeSJEmS1AFMziRJkiSpA5icSZIkSVIHMDmTJEmSpA5gciZJkiRJHcDkTJIkSZI6gMmZJEmSJHUAkzNJkiRJ6gAmZ5IkSZLUAbZpdwCSJHW6iBjyZWbmkC+zF9l23c3203BjciZJ0gC2dGctItzRazPbrrvZfhpu7NYoSZIkSR3A5EySJEmSOoDJmSRJkiR1AJMzSZIkSeoAJmeSJEmS1AFMziRJkiSpA5icSZIkSVIHMDmTJEmSpA7gTailLhIRQ7o8b+DZPEPddmD7SZLUbUzOpC6yJTvbEeFOegfY0jaw/SRJGj7s1ihJkiRJHcDkTJIkSZI6gMmZJEmSJHUAkzNJkiRJ6gAmZ5IkSZLUAUzOJEmSJKkDmJxJkiRJUgcwOdNmzZ07l8mTJzNy5EgmT57M3Llz2x2SJEmS1JMGdRPqiBgP7J2Zv2lRPOogc+fOZebMmcyZM4epU6eyYMECpk+fDsBRRx3V5ugkSZKk3jLgmbOIuCYidoyICcANwIURcU7rQ1O79fX1MWfOHKZNm8aoUaOYNm0ac+bMoa+vr92hSZIkST2nkW6NO2Xmg8DrgIsz83nAS1sbljrB4sWLmTp16kZlU6dOZfHixW2KSJIkSepdjSRn20TE7sAbgO+1OB51kIkTJ7JgwYKNyhYsWMDEiRPbFJEkSZLUuxpJzj4C/ABYkpm/jIinALe2Nix1gpkzZzJ9+nTmz5/PunXrmD9/PtOnT2fmzJntDk2SJEnqOQMOCJKZXwO+VvX6T8C/tjIodYbKoB8zZsxg8eLFTJw4kb6+PgcDkSRJklogMrP+hIjZQP2JQGa+q1VBdaMpU6bkwoUL2x2GtImIoL/vuTqf7dfdbL/uZdt1N9uve/V620XEosyc0t/0zXVrXAgsAsYCB1N0ZbwVOAgY3cwgJUmSJGm467dbY2Z+CSAi3gZMzcxHy9fnAz8dmvAkSZIkaXho5CbU44EdgfvL19uXZepCETHky+zlU9OSJElSszSSnH0cuDEi5gMBvBiY1cqg1Dpbmij1ev9fSZIkqd0aGa3xixFxFfC8suiUzLy7tWFJkiRJ0vDS74AgEXFw5QHsAfylfOxRlg0oIraPiNMi4sqIWB4RGRGz+qm7Y0ScFxF3R8SqiPhZRBzeT90DIuLyiHiwfHwnIp7aT92XR8TPy3neHRH/ExHb16kXEfHeiLg1ItZExC0R8a5oRz9ASZIkScPO5s6cnV0+jwWmAL+m6Nb4LIqRHF/QwPx3Bj4M3AHcALysXqUyAfou8FzgHODPwFuAKyPipZl5bVXdPSgGJFlD0b0ygPcCP4mIgzJzeVXdw4HvAT8H3gPsW9Z9Rp1YPgJ8CPgKcAYwDTgX2AHoa2BdJUmSJGmLbW60xmkAEfFN4ODM/G35ejKNX3N2F7BnZt4ZEXtRnHmr53UU17K9JTMvKpfzJeAmiiSx+l4AH6AYkGRyZt5S1r2irHsK8L6quucAS4BpmbmmrPtH4MKIeFVmfq8s2wN4P/ClzDy2fO/nIyKBmRFxQXXSJ0mSJEnNtrn7nFU8vZKYAWTmTcDERmaemWsy884Gqr4B+BvFWavKe1cDc4BDarosHgH8sJKYlXV/D1wNHFkpi4iJwGTgwkpiVroYeLi6LvDPFPduO68mrk8D2wKvaWAdJEmSJGmLNZKc/SYiPh8Rh5WPC4HfNDmOg4EbK/dSq/KLqulExJ7AblXltXX3iohdqt9TWzcz1wK/qppeqbsOuLFmnouAx2rqSpIkSVLTNZKcvQX4HfDu8nFzWdZMu1N0gaxVKdujqh5NqrtH1evdgeWZub66UpnI/bWm7gYRcUJELIyIhcuX2+tRkiRJ0pZrZCj91RHxaeDHQAJ/yMx1TY5jW4oBPmqtrppe/dyMuttWve5v+fXqbpCZFwAXAEyZMsWbgEmSJKnnTJgwgRUrVgzZ8oZysPTx48dz//33D9nyBjJgchYRhwFfAm6jGBlx74j4t8z8SRPjWAWMqVM+tmp69XMz6q6qet3f8uvVlSRJkoaNFStWkNmb5yE67a5ZjXRrPBt4WWb+fWa+GPhH4JNNjqO2m2FFpWvinVX1aFLd6oFK7gJ2jYiR1ZUiYjTwxJq6kiRJktR0jSRnozLzD5UX5SiJo5ocxw3AQRFReybveeXzjeWy7wDuBZ5TZx7PA5ZVDXl/Q/m8Ud0y4Tqoanql7jbAs2vmOYXiM7oBSZIkSWqhRpKzhXVGa1zY5Di+DjwBeFOlICLGAsdRjOK4pKbuyyLiaVV1nwG8BPhapSwzF1MMXnJ8RFR3WTwG2L66LnA5xWiN76yJ6+0U15x9d4vXTJIkSZIaMOA1Z8DbgHcA7ypf/xT4TKMLiIh3UiReO5ZFL46ID5V/fzkzbwe+ASwAPhsR+1PcrPpYYF/g8JpZfoziXmdXR8QnKa6DO4nijNoZNXVPBq4A5pU3td63rHs1VQlXZt4REWcBH4yIEcC1wDTgaODDmXlvo+srSZIkSVsiBnNxX0Tsnpn1hqbf3HtuA/bpZ/K0zLymrLcT8N/Av1Ikcr8F/iszf1Bnnk+nuBbuxWXRNcBJNWfYKnVfAZwGPBN4gOKM2Qcy86GaeiOA91Iko3sDf6a4CfW52cCHNGXKlFy4sNknFDtHRPTshaC9zrbrbrZfd7P9updt191sv+bq5c9zqNctIhZl5pR+pw8yObshM70hcx0mZ+pUtl13s/26m+3XvWy77mb7NVcvf56dlpw1cs3ZRvPbyngkSZIkSXUMNjm7sCVRSJIkSdIw18hNqCdUvfxq+fqhzFzXurAkSZIkaXhp5MzZDcBy4Bbg1vLv2yLihog4pJXBSZIkSdJw0Uhy9iPgFZm5c2Y+EXg58D2Ke4A1PKS+JEmSJKl/jSRnz68ezj4zfwi8IDN/Bozp/22SJEmSpEY1chPquyLiFOCr5esjgXsiYiTwWMsikySpySZMmMCKFSuGdJkRQzfQ8fjx47n//vuHbHmSpOZqJDl7I3Aq8O3y9XVl2UjgDS2KS5KkpluxYkXP3qsHhjYRHGom1t3N9pMaM2Bylpn3ATMiYofiZT5cNXlJyyKTJEkqmVh3N9tPasyA15xFxDMj4kbgJuB3EbEoIia3PjRJkiRJGj4aGRDkc8BJmblPZu4DnAxc0NqwJEmSJGl4aSQ5G5eZ8ysvMvMaYFzLIpIkSZKkYaiRAUH+FBH/BXy5fP0m4E+tC0mSJElSp8hTd4RZO7U7jJbIU3dsdwgbaSQ5Ow44Dfhm+fqnZZkkSZKkHhenPdizA7pEBDmr3VE8rpHRGlcA7xqCWCRJkiRp2Oo3OYuI7wL9psiZ+ZqWRCRJkiRJw9Dmzpx9YsiikCRJkqRhrt/kLDOvHcpApOFkwoQJrFixYsiWN5Q3xxw/fjz333//kC1vqA1124HtJ0nScNHIgCCSmmzFihU9fWFtL+vltoPebz9JkjpZI/c5kyRJkiS1mMmZJEmSJHWAAbs1RsQBwH8A+1TXz8yXtDAuSZIkSRpWGrnm7GvA+cCFwPrWhiNJkiRJw1MjydmjmfnZlkciSZIkScNYI8nZdyPi7cC3gDWVwsx0rGVJkiQNKE/dEWbt1O4wWiZP3bHdIahHxEBDQkfE0jrFmZlPaU1I3WnKlCm5cOHCdofRMhHR08OHD7Ve/jx7ed3A9et6PbxzuMGsB9odQWvYdl2t17ctrl/3Gup1i4hFmTml3+m9+kEPNZMzDUYvf569vG7g+nU716979fK6gevX7Vy/7tVpyVm/3Roj4iWZOS8iXldvemZ+sxkBSpIkSZI2f83Z3wPzgFfXmZaAyZkkSZIkNUm/yVlmnlo+v2XowpEkSZKk4WlEuwOQJEmSJJmcSZIkSVJHMDmTJEmSpA4w4E2oI2I74GTgyZl5fEQ8DXh6Zn6v5dGpXxMmTGDFihVDusyIGLJljR8/nvvv9z7nkiRJGj4GTM6ALwKLgBeUr+8AvgaYnLXRihUrevZ+EzC0iaAkSZLUCRpJzp6amUdGxFEAmflIuOcsbZU8dUeYtVO7w2iJPHXHdofQUr3cdtD77SdJ2jK9uvs/fvz4doewkUaSs7URsS3Fvc2IiKcCa1oaldTj4rQHe/bMZ0SQs9odRev0cttB77efJGnwhvJ3LyJ6+nd2II0kZ6cC3wf2johLgBcCx7YyKEmSJEkabgZMzjLzRxFxA/B8IIB3Z+Z9LY9MkiRJkoaRRkZrPLj8867y+ckRsRNwe2Y+2rLIJEmSJGkYaaRb42eAg4HfUJw5mwz8DtgpIt6WmT9sYXySJEmSNCw0chPqO4FnZ+aUzDwEeDbwJ+Bw4MxWBidJkiRJw0UjydkBmfm7yovMvBl4Rmb+qXVhSZIkSdLw0ki3xt9FxGeBr5avjwRujogxwLqWRSZJkiRJw0gjydmxwNuB95SvrwPeR5GYTWtNWJIkSeolvXoTY+i8GxmrezUylP4q4OzyUevhpkckSVILuYPYvWy77jXUNxUe7jcyVvdqZCj9FwKzgH2q62fmU1oXliRJzecOYvey7SQNB410a5wDvBdYBKxvbTiSJEmSNDw1kpw9kJlXtTwSSZIkSRrGGknO5kfEWcA3gTWVwsy8oWVRSZIkSdIw00hy9rzyeUpVWQIvaX44kiRJkjQ8NTJao8Pld6A8dUeYtVO7w2iZPHXHdocgSZIkDalGzpwREa8EJgFjK2WZ+ZFWBaWBxWkP9vQoUhFBzmp3FJIkSdLQGTFQhYg4HzgSmAEEcATFsPqSJEmSpCYZMDkDDs3MY4AVmXka8ALggNaGJUmSJEnDSyPJ2ary+ZGI2ANYB+zeupAkSZIkafhp5Jqz70XEE4CzgBsoRmr8fEujkoaBiGh3CC0xfvz4dofQcr3adjA82k+SpE7VyGiNp5d/fiMivgeMzcwHWhuW1NuGcjCXiOjpwWOG2lB/lrafJEnDR6OjNR4K7FupX+4sXNzCuCRJkiRpWBkwOYuILwNPBX4FrC+LEzA5kyRJkqQmaeTM2RTgwLRfjSRJkiS1TCOjNd4EPKmVQUTEYRGR/TzeVFP3SRHxlYj4a0Q8HBHzIuKQfub73IiYX9b7a0RcHBG79lP3zRHxm4hYHRG3R8RpETGqFesrSZIkSbX6PXMWEd+l6L64A3BzRPwCWFOZnpmvaUE8nwWurym7riqmccB8YDfgbOAB4B3A/Ih4bmb+vqruM8u6twGnAOOBk4GDyrqrq+pOpxiB8kpgNvB3wH8BewDHN3cVJUmSJGlTm+vW+Ikhi+Jx12fmVzYz/UTgGcBLMnM+QERcBtwCfBR4fVXdjwGrgb/PzPvKuj8DfgT8O3BeWTYW+DhwDfCqSvfNiPgb8MGI+J/M/G3T1lCSJEmS6thct8Y7gEcz89rqB8WgIMtaFVBEbL+Z7oRvAH5XScwAMnM58L/AqyJiu3IeOwL/CMytJGZl3R9TJHJHVs1zGrAz8Oma6+o+A0S5TEmSJElqqc0lZ58CHqxT/kA5rRU+AzwErImIn0fE4ZUJETGCorvhL+q87xfAGGBS+fqZwKjN1D0oHr+L7MFV5Rtk5p0USejBSJIkSVKLbS45261ed76ybN8mx7EO+BZwEvAaimvD9gC+HxGvLutMoEjA7qrz/krZHuXz7jXltXW3B3ZssO4edcoBiIgTImJhRCxcvnx5f9UkSZIkaUCbu+bsCZuZtm0zg8jM66ga+AMgIi4GFlOcpftu1TLXsKnK4B7b1jwPVPeB8jkzc10/dXesU16J+wLgAoApU6Z4qwFJkiRJW2xzZ84WRsQmIxVGxL8Di1oXUiEz/wp8AXhKRDwVWFVOGlOn+tjyeVXNc6N1o5/r3MZW1ZMkSZKkltncmbP3AN+KiKN5PBmbAowG/qXVgZX+XD4/EVhKcSasXjfDStfEO8vn2m6OtXVX8vj1dNV1b69T9zeDC1mSJEmSBq/fM2eZeU9mHgqcRnGvsNuA0zLzBZl599CEx1PL5+WZ+Rjwa+A5deo9jyJxu7l8/Vvg0X7qPhe4sWpkxhvK543qRsQewF5V0yVJkiSpZTbXrRGAzJyfmbPLx7xWBBERu9Yp2xuYDvw+M5eWxV8HJkXEYVX1dgGOAK7MzJVlzA8CPwT+X0Q8saruS4EDgK9VLWo+8FfgHVUjOAK8vXyurttRIqJnH+PHj2/3xytJkiQNqc11axxKX42INRSDgtxDccbsBIrBOt5eVe+zFDeQ/mZEfIJiQI93UKzHh2rm+UHg/4CfRMRnKAY4eR/wO+DCSqXMXB0RH6AY2OO7EfFt4KByuV/IzI7s1rjxLdlaLyKGfJmSJEnScNIpydm3gaMornPbCVgBzAP6MvPGSqXMfDgipgGfoEi0xlDcn+yYzLy5eoaZ+euIeAnwceBMim6PVwAnZ+aqmroXRsRa4D+ATwP3Ah8FTm/BukqSJEnSJsKzIc0xZcqUXLhwYbvDaBnPnHUv26672X7dzfbrXrZdd7P9ulevt11ELMrMKf1NH/CaM0mSJElS65mcSZIkSVIHMDmTJEmSpA5gciZJkiRJHcDkTJIkSZI6gMmZJEmSJHUAkzNJkiRJ6gAmZ5IkSZLUAUzOJEmSJKkDmJxJkiRJUgcwOZMkSZKkDmByJkmSJEkdwORMkiRJkjqAyZkkSZIkdQCTM0mSJEnqACZnkiRJktQBTM4kSZIkqQOYnEmSJElSBzA5kyRJkqQOsE27A5AkSZLUeyJiSN+XmVv0vk5iciZJkiSp6XohWRpqdmuUJEmSpA5gciZJkiRJHcBujZIkqWdt6bUrW/Neu3I1j+2n4cbkTJIk9Sx3tLub7afhxm6NkiRJktpq7ty5TJ48mZEjRzJ58mTmzp3b7pDawjNnkiQNwK5VktQ6c+fOZebMmcyZM4epU6eyYMECpk+fDsBRRx3V5uiGVrjxb44pU6bkwoUL2x1Gy0SEOwpdyrbrbrafJKnXTZ48mde+9rV8+9vfZvHixUycOHHD65tuuqnd4TVVRCzKzCn9TffMmSRJkqS2ufnmm3nkkUc2OXN22223tTu0Iec1Z5IkSZLaZvTo0bzzne9k2rRpjBo1imnTpvHOd76T0aNHtzu0IWdyJkmSJKlt1q5dy+zZs5k/fz7r1q1j/vz5zJ49m7Vr17Y7tCFnciZJUpM56lj3su2koXfggQdy9NFHM2PGDMaOHcuMGTM4+uijOfDAA9sd2pAzOZMkqYnmzp3Lu9/9blauXElmsnLlSt797ne7k98FbLvuV9m5j4gNO/nqfDNnzuTSSy9l9uzZrF69mtmzZ3PppZcyc+bMdoc25EzOJElqove///2MHDmSL3zhC6xZs4YvfOELjBw5kve///3tDk0DsO2624wZMzj//PP52Mc+xsqVK/nYxz7G+eefb4LWBY466ihe+cpX8vKXv5zRo0fz8pe/nFe+8pXDbhh9MDmTJKmpli1bxsUXX7zRhe0XX3wxy5Yta3doGoBt190uvPBCzjjjDE466SS22247TjrpJM444wwuvPDCdoemAcydO5crrriCq666irVr13LVVVdxxRVXDMuz1iZnkiQ12bx58za6bmnevHntDkkNOu+88zbqFnfeeee1OyQ1aM2aNYwfP36j79748eNZs2ZNu0PTAPr6+pgzZ85GB0bmzJlDX19fu0MbciZnUo+qXNQOeFF7F7L9uteECRM466yzOO6443jooYc47rjjOOuss5gwYUK7Q9MAxpapT7MAACAASURBVI0bx+WXX85xxx3H3/72N4477jguv/xyxo0b1+7Q1IBtttmGGTNmsHLlSgBWrlzJjBkz2GYbb+vb6RYvXsyyZcs2SqyXLVvG4sWL2x3akIvMbHcMPWHKlCm5cOHCdofRMhGB/yvtFxFDujzbvHmGuu3A9muXvffem3vuuYd169ZtKBs1ahS77bYbf/nLX9oYmQYyatQoRo4cyWOPPca6desYNWoUI0aMYP369Ru1pzrT9ttvz8qVKxk/fjwPPPAAO+20EytWrGDcuHE8/PDD7Q5Pm7H33nuzfv16Lrnkkg03oT766KMZOXJkz203I2JRZk7pb7pnzqQukpkNPSZNmsS8efM2Kps3bx6TJk1qeB7u2DfXYD5326+7LVu2jPXr17PbbrsBsNtuu7F+/XqvW+oCjz76KDvssAN77rknEcGee+7JDjvswKOPPtru0NSAlStXst122/Hwww/z2GOP8fDDD7PddtttOJOmzlb7uzVcf8dMzqQetHjxYqZOnbpR2dSpU4dl94BuZPt1t4jgrW99K3fffTeZyd13381b3/rWtpw91eBEBEcccQRLly7lscceY+nSpRxxxBG2XReZNWsWa9euJTNZu3Yts2bNandIasCdd97JmWeeudF9zs4880zuvPPOdoc25EzOpB40ceJEFixYsFHZggULmDhxYpsi0mDYft0tM7nyyiuZP38+69atY/78+Vx55ZXD9ihwt7ngggs455xzeOSRRzjnnHO44IIL2h2SBuHss8/e6Lt39tlntzskNWDixInstdde3HTTTaxfv56bbrqJvfbaa1j+7nmFpNSDZs6cyZFHHsm4ceO4/fbb2WeffVi5ciXnnntuu0NTA2y/7jZm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\n",
            "text/plain": [
              "<Figure size 1008x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "utb_vMI2_-jq",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 13,
      "outputs": []
    }
  ]
}